/*
 * Document   : rh-boostrap.js
 * Author     : Donat Kamary
 * Description: Fonctions appelées automatiquement à chaque chargement
 */

$(document).ready(function() {
    // Accordéon du menu de gauche
    var navIndex = 100;
    var uri = document.location.pathname;
    var icons = {
	header: "ui-icon-circle-triangle-e",
	activeHeader: "ui-icon-circle-triangle-s"
    };

    if (uri.match(/site/) || uri.match(/periode/)
	    || uri.match(/activite/) || uri.match(/profil/)
	    || uri.match(/avantage/) || uri.match(/transport/)
	    || uri.match(/diplome/) || uri.match(/formation/)
	    || uri.match(/contrattype/) || uri.match(/titresejour/)
    || uri.match(/mutuelle/) || uri.match(/poste/)
    || uri.match(/email/) || uri.match(/motif/)) {
	navIndex = 0;
    }
    else if (uri.match(/employe/) || uri.match(/planning/) || uri.match(/template/) || uri.match(/transfert/)) {
	navIndex = 1;
    }
    else if (uri.match(/variable/)) {
	navIndex = 2;
    }
    $('#nav-cube').accordion({
	active: navIndex
    });

    // Checkbox personnalisé
    var checkboxHeight = "16";
    var radioHeight = "16";
    var Custom = {
	init: function() {
	    var inputs = document.getElementsByTagName("input"), span = Array(), textnode, option, active;
	    for (a = 0; a < inputs.length; a++) {
		if ((inputs[a].type == "checkbox" || inputs[a].type == "radio") && inputs[a].className == "styled") {
		    span[a] = document.createElement("span");
		    span[a].className = inputs[a].type;

		    if (inputs[a].checked == true) {
			if (inputs[a].type == "checkbox") {
			    position = "0 -" + (checkboxHeight) + "px";
			    span[a].style.backgroundPosition = position;
			} else {
			    position = "0 -" + (radioHeight) + "px";
			    span[a].style.backgroundPosition = position;
			}
		    }
		    inputs[a].parentNode.insertBefore(span[a], inputs[a]);
		    inputs[a].onchange = Custom.clear;
		    if (!inputs[a].getAttribute("disabled")) {
			span[a].onmousedown = Custom.pushed;
			span[a].onmouseup = Custom.check;
		    } else {
			span[a].className = span[a].className += " disabled";
		    }
		}
	    }
	    document.onmouseup = Custom.clear;
	},
	pushed: function() {
	    element = this.nextSibling;
	    if (element.checked == true && element.type == "checkbox") {
		this.style.backgroundPosition = "0 0";
	    } else if (element.checked == true && element.type == "radio") {
		this.style.backgroundPosition = "0 0";
	    } else if (element.checked != true && element.type == "checkbox") {
		this.style.backgroundPosition = "0 -" + checkboxHeight + "px";
	    } else {
		this.style.backgroundPosition = "0 -" + radioHeight + "px";
	    }
	},
	check: function() {
	    element = this.nextSibling;
	    if (element.checked == true && element.type == "checkbox") {
		this.style.backgroundPosition = "0 0";
		//element.checked = false;
		$(element).checked(false);
	    } else {
		if (element.type == "checkbox") {
		    this.style.backgroundPosition = "0 -" + checkboxHeight + "px";
		} else {
		    this.style.backgroundPosition = "0 -" + radioHeight + "px";
		    group = this.nextSibling.name;
		    inputs = document.getElementsByTagName("input");
		    for (a = 0; a < inputs.length; a++) {
			if (inputs[a].name == group && inputs[a] != this.nextSibling) {
			    inputs[a].previousSibling.style.backgroundPosition = "0 0";
			}
		    }
		}
		//element.checked = true;
		$(element).checked(true);
	    }
	},
	clear: function() {
	    inputs = document.getElementsByTagName("input");
	    for (var b = 0; b < inputs.length; b++) {
		if (inputs[b].type == "checkbox" && inputs[b].checked == true && inputs[b].className == "styled") {
		    inputs[b].previousSibling.style.backgroundPosition = "0 -" + checkboxHeight + "px";
		} else if (inputs[b].type == "checkbox" && inputs[b].className == "styled") {
		    inputs[b].previousSibling.style.backgroundPosition = "0 0";
		} else if (inputs[b].type == "radio" && inputs[b].checked == true && inputs[b].className == "styled") {
		    inputs[b].previousSibling.style.backgroundPosition = "0 -" + radioHeight + "px";
		} else if (inputs[b].type == "radio" && inputs[b].className == "styled") {
		    inputs[b].previousSibling.style.backgroundPosition = "0 0";
		}
	    }
	},
	choose: function() {
	    option = this.getElementsByTagName("option");
	    for (d = 0; d < option.length; d++) {
		if (option[d].selected == true) {
		    document.getElementById("select" + this.name).childNodes[0].nodeValue = option[d].childNodes[0].nodeValue;
		}
	    }
	}
    };
    window.onload = Custom.init;
});
